<?php

// uncomment the following to define a path alias
// Yii::setPathOfAlias('local','path/to/local-folder');

// This is the main Web application configuration. Any writable
// CWebApplication properties can be configured here.
require_once(dirname(__FILE__) . '/db.config.php');
return array(
	'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
	'name'=>'Education Management System',

	// preloading 'log' component
	'preload'=>array('log','EMSInit'),

	// autoloading model and component classes
	'import'=>array(
		'application.models.*',
		'application.components.*',
	),

	'modules'=>array(
		// uncomment the following to enable the Gii tool
		
		'gii'=>array(
			'class'=>'system.gii.GiiModule',
			'password'=>'tr4d3x',
		 	// If removed, Gii defaults to localhost only. Edit carefully to taste.
			'ipFilters'=>array('127.0.0.1','::1'),
		),
	),
	//Application Behaviors
	'behaviors' => array(
		//Request for login on each page
	    'onBeginRequest' => array(
	        'class' => 'application.components.RequireLogin'
	    )
	),	
	// application components
	'components'=>array(
		'user'=>array(
			// enable cookie-based authentication
			'allowAutoLogin'=>true,
			'loginUrl' => array('login/login'),
			
		),
		// uncomment the following to enable URLs in path-format
		
		'urlManager'=>array(
			'urlFormat'=>'path',
		    'rules'=>array(
		      '<controller:\w+>/<id:\d+>'=>'<controller>/view',
		      '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
		      '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
		    ),
			'showScriptName'=>false,
		),
		
		/*
		'db'=>array(
			'connectionString' => 'sqlite:'.dirname(__FILE__).'/../data/testdrive.db',
		),
		*/
		// uncomment the following to use a MySQL database
		
		'db'=>array(
			'connectionString' => 'mysql:host='.DB_HOST.';dbname='.DB_NAME,
			'emulatePrepare' => true,
			'username' => DB_USER,
			'password' => DB_PASS,
			'charset' => 'utf8',
			'tablePrefix'=>TABLE_PREFIX,
		),
		
		'errorHandler'=>array(
			// use 'site/error' action to display errors
            'errorAction'=>'login/error',
        ),
		'log'=>array(
			'class'=>'CLogRouter',
			'routes'=>array(
				array(
					'class'=>'CFileLogRoute',
					'levels'=>'error, warning',
				),
				// uncomment the following to show log messages on web pages
				/*
				array(
					'class'=>'CWebLogRoute',
				),*/
			),
		),
		/**
		 * Configuration settings
		 */
		'EMSInit'=>array(
			'class' => 'EMSInit',
		),
		/*
		 * Widget Settings
		 */
		'widgetFactory'=>array(
            'widgets'=>array(
                'CLinkPager'=>array(
                    'maxButtonCount'=>5,
                    'cssFile'=>false,
                ),
            ),
        ),
	),
	//Default Controller
	'defaultController' => 'login',
	// application-level parameters that can be accessed
	// using Yii::app()->params['paramName']
	/*
	'params'=>array(
		// this is used in contact page
		'adminEmail'=>'webmaster@example.com',
	),
	*/
	
	'params'=>include(dirname(__FILE__).'/ems.php'),//Custom Config file
);